package com.ryder.subject.infra.basic.service;

import com.ryder.subject.infra.basic.entity.SubjectCategory;

import java.util.List;

/**
 * 描述: 题目分类(SubjectCategory)表服务接口
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0 // 版本号，指明从哪个版本开始
 * 更新日期: 2025/02/03
 */

public interface SubjectCategoryService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SubjectCategory queryById(Long id);

    /**
     * 新增数据
     *
     * @param subjectCategory 实例对象
     * @return 实例对象
     */
    SubjectCategory insert(SubjectCategory subjectCategory);

    /**
     * 修改数据
     *
     * @param subjectCategory 实例对象
     * @return 实例对象
     */
    int update(SubjectCategory subjectCategory);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 查询岗位大类
     *
     * @return List<SubjectCategory> 转换后的岗位大类业务对象列表
     */
    List<SubjectCategory> queryCategory(SubjectCategory subjectCategory);

    /**
     * 根据岗位大类id查询岗位数量
     *
     * @param id 岗位大类id
     * @return 岗位数量
     */
    Integer querySubjectCount(Long id);
}
